Presently, computer systems and networks are utilized in many facets of daily life. For example, computer systems and networks are common both at home and in the workplace to increase output as well as provide user convenience and entertainment. One major utilization of computer systems is the broadcasting of live content over a network. For example, games are played on a network such as the internet wherein a server acts as the source of the game and a plurality of gamers (or players) connect directly with the server to play the game. Another example of live content broadcast is found in teleconferencing and virtual meetings.
As illustrated in Prior Art FIG. 1, in live content formats, a source 110 is being captured. As the content is captured, for example by an Internet camera, it is routed to a server 105 where it is fed into an encoder 150. Once the content is encoded it is transmitted (e.g., transmitter 130) via network 100 (e.g., the Internet) over a plurality of dedicated streams (e.g., 140 through 142) to all clients 120. Therefore, each client 120 has the opportunity to view the broadcast as it is happening. That is, each client 120 may see or hear what is said or done in real time with only a minimal delay or no delay at all.
However, one disadvantage to this approach is its inefficiency. Specifically, a dedicated stream (e.g., 140 through 142) is necessary per client 120. Therefore, it is appreciated that if a server has a substantial number of clients watching the live video stream, there may be no room to add additional clients. For example, server 105 may have bandwidth requirements that allow only a certain number of clients 120 to receive a certain quality bandwidth. Once the maximum number of clients 120 are reached, the server denies access to other clients 120 or reduce overall broadcast quality to open up more bandwidth for other clients 120.
Therefore, a particular live broadcast may not reach all intended clients due to bandwidth limitations, or the degraded quality of the broadcast may make reception of the broadcast poor and unstable with frequent pauses for rebuffering or reacquisition. These deleterious effects may further result in loss of clientele, unacceptable delays in reception of the live content, or the prohibitive expense of a more powerful server and/or network connection which may then maintain a higher number of streams at a higher quality.
Therefore, a method for broadcasting live data over a network, that is more efficient than the conventional art would be an improvement. The present invention provides such an improvement.